home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / Developer University / DUProjects / Talker SOM Library / •SOM / STalker.xih < prev   
Encoding:
Text File  |  1996-08-16  |  13.8 KB  |  579 lines  |  [TEXT/CWIE]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: :STalker.xih.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxih.dll: 2.33
  8.  */
  9.  
  10. #ifndef SOM_DevUniv_SComputer_xih
  11. #define SOM_DevUniv_SComputer_xih
  12.  
  13. #include <somcls.xh>
  14. #include <somcm.xh>
  15.  
  16. #ifndef SOM_DevUniv_SComputer_xh
  17. #include <STalker.xh>
  18. #endif
  19.  
  20. /*
  21.  * Set the scope of methods functions
  22.  */
  23. #ifndef SOM_Scope
  24. #define SOM_Scope extern "C"
  25. #endif
  26.  
  27. #define DevUniv_SComputer_MaxNoMethods 1
  28.  
  29. /*
  30.  * -- Instance Data
  31.  */
  32. typedef void DevUniv_SComputerData;
  33.  
  34. /*
  35.  * Trace/Debug macro
  36.  */
  37. #ifndef DevUniv_SComputerMethodDebug
  38. #define DevUniv_SComputerMethodDebug(c,m) SOMMethodDebug(c,m)
  39. #endif
  40.  
  41. /*
  42.  * -- Method Macros for use in Method Procedures
  43.  */
  44. #ifdef METHOD_MACROS
  45.   #define _somInit somSelf->somInit
  46.   #define _somUninit somSelf->somUninit
  47.   #define _somDuplicateReference somSelf->somDuplicateReference
  48.   #define _somCompareReference somSelf->somCompareReference
  49.   #define _somRelease somSelf->somRelease
  50.   #define _somFree somSelf->somFree
  51.   #define _somCanDelete somSelf->somCanDelete
  52.   #define _somGetClass somSelf->somGetClass
  53.   #define _somGetClassName somSelf->somGetClassName
  54.   #define _somGetSize somSelf->somGetSize
  55.   #define _somIsA somSelf->somIsA
  56.   #define _somRespondsTo somSelf->somRespondsTo
  57.   #define _somIsInstanceOf somSelf->somIsInstanceOf
  58.   #define _somDispatch somSelf->somDispatch
  59.   #define _somClassDispatch somSelf->somClassDispatch
  60.   #define _somCastObj somSelf->somCastObj
  61.   #define _somResetObj somSelf->somResetObj
  62.   #define _somPrintSelf somSelf->somPrintSelf
  63.   #define _somDumpSelf somSelf->somDumpSelf
  64.   #define _somDumpSelfInt somSelf->somDumpSelfInt
  65.   #define _HasTextToSpeech somSelf->HasTextToSpeech
  66. #endif
  67.  
  68.  
  69. /*
  70.  * Introduced methods
  71.  */
  72.  
  73. /* New Method: HasTextToSpeech */
  74. SOM_Scope boolean  SOMLINK COMPHasTextToSpeech(DevUniv_SComputer *somSelf, Environment *ev);
  75.  
  76. /*
  77.  * -- Primary Implementation File Support
  78.  */
  79. #if (defined(DevUniv_SComputer_Class_Source) || defined(SOM_Module_stalker_Source))
  80.  
  81. /*
  82.  * -- The DevUniv_SComputer ClassData Structure
  83.  */
  84.  
  85. #if PRAGMA_IMPORT_SUPPORTED
  86. #pragma export list DevUniv_SComputerClassData
  87. #endif
  88.  
  89.  
  90. /*
  91.  * -- The DevUniv_SComputer Class Ancestor Table
  92.  */
  93. static somClassDataStructure * SOMDLINK DevUniv_SComputerClassAncestors [] = {
  94.     (somClassDataStructure*) & SOMObjectClassData,    /* parent */
  95. };
  96.  
  97.  
  98. static void DevUniv_SComputerDLLD ( void ) { }
  99.  
  100.  
  101. /*
  102.  * -- The DevUniv_SComputer Static Class Info Master Table
  103.  */
  104. static somStaticClassInfo DevUniv_SComputerSCI = {
  105.       70,    /* layout version */
  106.     (somClassDataStructure*)  & DevUniv_SComputerClassData,    /* main token table */
  107.       0,    /* no override procs table */
  108.       DevUniv_SComputerClassAncestors,    /* ancestor table */
  109.       DevUniv_SComputerDLLD,    /* DLLdesignator */
  110.       0,    /* no special procs */
  111.       0,    /* rtci slot */
  112.       0,    /* count slot */
  113.       0,    /* dynamic ancestry */
  114.       0,    /* free */
  115.       0,    /* free */
  116.       0,    /* free */
  117.       0,    /* free */
  118.  
  119. /*
  120.  * -- The DevUniv_SComputer Counts Table
  121.  */
  122.     (somStaticClassCounts *)
  123.         "\x00\x00\x00\x01"    /* majorversion */
  124.         "\x00\x00\x00\x00"    /* minorversion */
  125.         "\x00\x00\x00\x01"    /* flags */
  126.             "\x00\x00"    /* type code alignment */
  127.             "\x00\x01"    /* classTokenCount */
  128.             "\x00\x01"    /* numDirectParents */
  129.             "\x00\x00"    /* numMetaClasses */
  130.             "\x00\x00"    /* numOverriddenAncestors */
  131.             "\x00\x00"    /* numMigratedMethods */
  132.             "\x00\x00"    /* numSelectedInherited */
  133.             "\x00\x00"    /* numUnused */
  134.             "\x00\x00"    /* free */
  135.             "\x00\x00"    /* free */
  136.             "\x00\x00"    /* free */
  137.             "\x00"    /* free */
  138.                 ,
  139.  
  140.     {
  141.       "DevUniv::SComputer",    /* the class name */
  142.       0, /* no class instance data */
  143.  
  144. /*
  145.  * -- The DevUniv_SComputer Parent Versions Table
  146.  */
  147.     (somParentVersions *)
  148.         "\x00\x00\x00\x46"    /* majorversion */
  149.         "\x00\x00\x00\x01"    /* minorversion */
  150.                 ,
  151.  
  152.  
  153. /*
  154.  * -- The DevUniv_SComputer Token Slot Usage Table
  155.  */
  156.     (somSlotUsage *)
  157.         "",
  158.  
  159.  
  160. /*
  161.  * -- The DevUniv_SComputer Method Signature Info
  162.  */
  163.     (somSignatureInfo *)
  164.         "\x02\x00"    /* HasTextToSpeech */
  165.              ,
  166.  
  167.  
  168. /*
  169.  * -- The DevUniv_SComputer Class Method Names
  170.  */
  171.         "HasTextToSpeech\0"
  172.             ,
  173.  
  174.       0,    /* no override data table */
  175.       0,    /* no migrated methods table */
  176.       0,    /* no selected inherited */
  177.       0,    /* unused */
  178.  
  179.       0,    /* free */
  180.       0,    /* free */
  181.       0,    /* free */
  182.       0,    /* free */
  183.     },
  184. };
  185.  
  186. /*
  187.  * -- The DevUniv_SComputer ClassData Structure
  188.  */
  189. struct DevUniv_SComputerClassDataStructure SOMDLINK DevUniv_SComputerClassData = {
  190.       0,            /* zero */
  191.     & DevUniv_SComputerSCI,        /* SCI link */
  192.       0,            /* instanceDataToken */
  193.       0,            /* reserved */
  194.       0,            /* reserved */
  195.       0,            /* reserved */
  196.     (somMToken) COMPHasTextToSpeech,    /* HasTextToSpeech:method */
  197. };
  198.  
  199.  
  200. /*
  201.  * Functions for attributes.
  202.  */
  203.  
  204. /*
  205.  * Macros for initializers/destructors
  206.  */
  207.  
  208. #endif /* Primary Implementation Support */
  209.  
  210. #endif       /* SOM_DevUniv_SComputer_xih */
  211.  
  212. #ifndef SOM_DevUniv_STalker_xih
  213. #define SOM_DevUniv_STalker_xih
  214.  
  215. #include <somcls.xh>
  216. #include <somcm.xh>
  217.  
  218. /*
  219.  * Passthru lines: File: "C.xih", "before"
  220.  */
  221. class TTalker;
  222.  
  223. #ifndef SOM_DevUniv_STalker_xh
  224. #include <STalker.xh>
  225. #endif
  226.  
  227. /*
  228.  * Set the scope of methods functions
  229.  */
  230. #ifndef SOM_Scope
  231. #define SOM_Scope extern "C"
  232. #endif
  233.  
  234. #define DevUniv_STalker_MaxNoMethods 10
  235.  
  236. /*
  237.  * -- Instance Data
  238.  */
  239.  
  240. /*
  241.  * -- Use best possible alignment for instance data slice.
  242.  */
  243. #if powerc
  244. #  pragma options align=power
  245. #endif
  246. typedef struct {
  247.     TTalker* fTalker;
  248. } DevUniv_STalkerData;
  249. #if powerc
  250. #  pragma options align=reset
  251. #endif
  252.  
  253. /*
  254.  * -- Getdata Macro
  255.  */
  256.  
  257. /*
  258.  * -- This emitter treats Data Tokens as Thunks by default.
  259.  * -- Use the sc modifier "nothunks" to override this default.
  260.  */
  261. #if !mw_bug
  262. SOMEXTERN
  263. #endif
  264. typedef DevUniv_STalkerData* (* SOMLINK somTD_DevUniv_STalker_DataThunk)(void*);
  265. #define DevUniv_STalkerGetData(somSelf) \
  266.    (((somTD_DevUniv_STalker_DataThunk)(DevUniv_STalkerClassData.instanceDataToken))(somSelf))
  267.  
  268. /*
  269.  * -- Instance Data Access Macros for use in Method Procedures
  270.  */
  271. #ifdef VARIABLE_MACROS
  272.   #define _fTalker (somThis->fTalker)
  273. #endif
  274.  
  275.  
  276. /*
  277.  * Trace/Debug macro
  278.  */
  279. #ifndef DevUniv_STalkerMethodDebug
  280. #define DevUniv_STalkerMethodDebug(c,m) SOMMethodDebug(c,m)
  281. #endif
  282.  
  283. /*
  284.  * -- Method Macros for use in Method Procedures
  285.  */
  286. #ifdef METHOD_MACROS
  287.   #define _somInit somSelf->somInit
  288.   #define _somUninit somSelf->somUninit
  289.   #define _somDuplicateReference somSelf->somDuplicateReference
  290.   #define _somCompareReference somSelf->somCompareReference
  291.   #define _somRelease somSelf->somRelease
  292.   #define _somFree somSelf->somFree
  293.   #define _somCanDelete somSelf->somCanDelete
  294.   #define _somGetClass somSelf->somGetClass
  295.   #define _somGetClassName somSelf->somGetClassName
  296.   #define _somGetSize somSelf->somGetSize
  297.   #define _somIsA somSelf->somIsA
  298.   #define _somRespondsTo somSelf->somRespondsTo
  299.   #define _somIsInstanceOf somSelf->somIsInstanceOf
  300.   #define _somDispatch somSelf->somDispatch
  301.   #define _somClassDispatch somSelf->somClassDispatch
  302.   #define _somCastObj somSelf->somCastObj
  303.   #define _somResetObj somSelf->somResetObj
  304.   #define _somPrintSelf somSelf->somPrintSelf
  305.   #define _somDumpSelf somSelf->somDumpSelf
  306.   #define _somDumpSelfInt somSelf->somDumpSelfInt
  307.   #define _SayString somSelf->SayString
  308.   #define _SayInteger somSelf->SayInteger
  309.   #define _SayFloat somSelf->SayFloat
  310.   #define _SayText somSelf->SayText
  311.   #define _Faster somSelf->Faster
  312.   #define _Slower somSelf->Slower
  313.   #define _UseVoice somSelf->UseVoice
  314.   #define _UseVoiceNamed somSelf->UseVoiceNamed
  315.   #define _GetVoiceName somSelf->GetVoiceName
  316.   #define _GetNumberVoices somSelf->GetNumberVoices
  317.   #define _somInit somSelf->somInit
  318.   #define _somUninit somSelf->somUninit
  319. #endif
  320.  
  321.  
  322. /*
  323.  * Introduced methods
  324.  */
  325.  
  326. /* New Method: SayString */
  327. SOM_Scope void  SOMLINK TALKSayString(DevUniv_STalker *somSelf, Environment *ev,
  328.         char* str,
  329.         boolean wait);
  330.  
  331. /* New Method: SayInteger */
  332. SOM_Scope void  SOMLINK TALKSayInteger(DevUniv_STalker *somSelf, Environment *ev,
  333.         long number,
  334.         boolean wait);
  335.  
  336. /* New Method: SayFloat */
  337. SOM_Scope void  SOMLINK TALKSayFloat(DevUniv_STalker *somSelf, Environment *ev,
  338.         float number,
  339.         short digitsDesired,
  340.         boolean wait);
  341.  
  342. /* New Method: SayText */
  343. SOM_Scope void  SOMLINK TALKSayText(DevUniv_STalker *somSelf, Environment *ev,
  344.         char* textPtr,
  345.         long textBytes,
  346.         boolean wait);
  347.  
  348. /* New Method: Faster */
  349. SOM_Scope void  SOMLINK TALKFaster(DevUniv_STalker *somSelf, Environment *ev);
  350.  
  351. /* New Method: Slower */
  352. SOM_Scope void  SOMLINK TALKSlower(DevUniv_STalker *somSelf, Environment *ev);
  353.  
  354. /* New Method: UseVoice */
  355. SOM_Scope void  SOMLINK TALKUseVoice(DevUniv_STalker *somSelf, Environment *ev,
  356.         short index);
  357.  
  358. /* New Method: UseVoiceNamed */
  359. SOM_Scope void  SOMLINK TALKUseVoiceNamed(DevUniv_STalker *somSelf, Environment *ev,
  360.         char* name);
  361.  
  362. /* New Method: GetVoiceName */
  363. SOM_Scope char*  SOMLINK TALKGetVoiceName(DevUniv_STalker *somSelf, Environment *ev,
  364.         short index);
  365.  
  366. /* New Method: GetNumberVoices */
  367. SOM_Scope short  SOMLINK TALKGetNumberVoices(DevUniv_STalker *somSelf, Environment *ev);
  368.  
  369. /*
  370.  * Overridden methods
  371.  */
  372.  
  373. /* Overridden method: somInit */
  374. SOM_Scope void  SOMLINK TALKsomInit(DevUniv_STalker *somSelf);
  375. #if !mw_bug
  376. SOMEXTERN
  377. #endif
  378. typedef void   (* SOMLINK somTD_xih_DevUniv_STalker_somInit)(DevUniv_STalker *somSelf);
  379. inline void  SOMLINK DevUniv_STalker_parent_SOMObject_somInit(DevUniv_STalker *somSelf)
  380. {
  381.   (void)         (somSelf);
  382. }
  383. #define DevUniv_STalker_parents_somInit(arg0) \
  384.   (void) DevUniv_STalker_parent_SOMObject_somInit(arg0)
  385.  
  386. /* Overridden method: somUninit */
  387. SOM_Scope void  SOMLINK TALKsomUninit(DevUniv_STalker *somSelf);
  388. #if !mw_bug
  389. SOMEXTERN
  390. #endif
  391. typedef void   (* SOMLINK somTD_xih_DevUniv_STalker_somUninit)(DevUniv_STalker *somSelf);
  392. inline void  SOMLINK DevUniv_STalker_parent_SOMObject_somUninit(DevUniv_STalker *somSelf)
  393. {
  394.   (void)         (somSelf);
  395. }
  396. #define DevUniv_STalker_parents_somUninit(arg0) \
  397.   (void) DevUniv_STalker_parent_SOMObject_somUninit(arg0)
  398.  
  399. /*
  400.  * -- Primary Implementation File Support
  401.  */
  402. #if (defined(DevUniv_STalker_Class_Source) || defined(SOM_Module_stalker_Source))
  403.  
  404. /*
  405.  * -- The DevUniv_STalker ClassData Structure
  406.  */
  407.  
  408. #if PRAGMA_IMPORT_SUPPORTED
  409. #pragma export list DevUniv_STalkerClassData
  410. #endif
  411.  
  412.  
  413. /*
  414.  * -- The DevUniv_STalker Class Ancestor Table
  415.  */
  416. static somClassDataStructure * SOMDLINK DevUniv_STalkerClassAncestors [] = {
  417.     (somClassDataStructure*) & SOMObjectClassData,    /* parent */
  418. };
  419.  
  420.  
  421. /*
  422.  * -- The DevUniv_STalker Override ProcPtr Implementations Table
  423.  */
  424. static somMethodPtr DevUniv_STalkerOverrideProcs [] = {
  425.     (somMethodPtr) TALKsomInit,    /* override class SOMObject */
  426.     (somMethodPtr) TALKsomUninit,    /* override class SOMObject */
  427. };
  428.  
  429.  
  430. static void DevUniv_STalkerDLLD ( void ) { }
  431.  
  432.  
  433. /*
  434.  * -- The DevUniv_STalker Static Class Info Master Table
  435.  */
  436. static somStaticClassInfo DevUniv_STalkerSCI = {
  437.       70,    /* layout version */
  438.     (somClassDataStructure*)  & DevUniv_STalkerClassData,    /* main token table */
  439.       DevUniv_STalkerOverrideProcs,    /* override proc implemenations table */
  440.       DevUniv_STalkerClassAncestors,    /* ancestor table */
  441.       DevUniv_STalkerDLLD,    /* DLLdesignator */
  442.       0,    /* no special procs */
  443.       0,    /* rtci slot */
  444.       0,    /* count slot */
  445.       0,    /* dynamic ancestry */
  446.       0,    /* free */
  447.       0,    /* free */
  448.       0,    /* free */
  449.       0,    /* free */
  450.  
  451. /*
  452.  * -- The DevUniv_STalker Counts Table
  453.  */
  454.     (somStaticClassCounts *)
  455.         "\x00\x00\x00\x01"    /* majorversion */
  456.         "\x00\x00\x00\x00"    /* minorversion */
  457.         "\x00\x00\x00\x01"    /* flags */
  458.             "\x00\x02"    /* type code alignment */
  459.             "\x00\x0a"    /* classTokenCount */
  460.             "\x00\x01"    /* numDirectParents */
  461.             "\x00\x00"    /* numMetaClasses */
  462.             "\x00\x01"    /* numOverriddenAncestors */
  463.             "\x00\x00"    /* numMigratedMethods */
  464.             "\x00\x00"    /* numSelectedInherited */
  465.             "\x00\x00"    /* numUnused */
  466.             "\x00\x00"    /* free */
  467.             "\x00\x00"    /* free */
  468.             "\x00\x00"    /* free */
  469.             "\x00"    /* free */
  470.                 ,
  471.  
  472.     {
  473.       "DevUniv::STalker",    /* the class name */
  474.       sizeof (DevUniv_STalkerData), /* class instance data size */
  475.  
  476. /*
  477.  * -- The DevUniv_STalker Parent Versions Table
  478.  */
  479.     (somParentVersions *)
  480.         "\x00\x00\x00\x46"    /* majorversion */
  481.         "\x00\x00\x00\x01"    /* minorversion */
  482.                 ,
  483.  
  484.  
  485. /*
  486.  * -- The DevUniv_STalker Token Slot Usage Table
  487.  */
  488.     (somSlotUsage *)
  489.         "\x00\x00\x00\x00",
  490.  
  491.  
  492. /*
  493.  * -- The DevUniv_STalker Method Signature Info
  494.  */
  495.     (somSignatureInfo *)
  496.         "\x04\x07"    /* SayString */
  497.          "\x04\x07"    /* SayInteger */
  498.          "\x05\x77\xc8\x30"    /* SayFloat */
  499.          "\x05\x07"    /* SayText */
  500.          "\x02\x07"    /* Faster */
  501.          "\x02\x07"    /* Slower */
  502.          "\x03\x17\xc3"    /* UseVoice */
  503.          "\x03\x07"    /* UseVoiceNamed */
  504.          "\x03\x1c\xc3"    /* GetVoiceName */
  505.          "\x02\x03"    /* GetNumberVoices */
  506.              ,
  507.  
  508.  
  509. /*
  510.  * -- The DevUniv_STalker Class Method Names
  511.  */
  512.         "SayString\0"
  513.         "SayInteger\0"
  514.         "SayFloat\0"
  515.         "SayText\0"
  516.         "Faster\0"
  517.         "Slower\0"
  518.         "UseVoice\0"
  519.         "UseVoiceNamed\0"
  520.         "GetVoiceName\0"
  521.         "GetNumberVoices\0"
  522.             ,
  523.  
  524.  
  525. /*
  526.  * -- The DevUniv_STalker Override Slots Table
  527.  */
  528.     (somOverrideData *)
  529.         "\x00\x00\x00\x02"    /* parent SOMObject has 2 overrides */
  530.             "\x00\x00"    /* somInit */
  531.             "\x00\x01"    /* somUninit */
  532.                 ,
  533.  
  534.       0,    /* no migrated methods table */
  535.       0,    /* no selected inherited */
  536.       0,    /* unused */
  537.  
  538.       0,    /* free */
  539.       0,    /* free */
  540.       0,    /* free */
  541.       0,    /* free */
  542.     },
  543. };
  544.  
  545. /*
  546.  * -- The DevUniv_STalker ClassData Structure
  547.  */
  548. struct DevUniv_STalkerClassDataStructure SOMDLINK DevUniv_STalkerClassData = {
  549.       0,            /* zero */
  550.     & DevUniv_STalkerSCI,        /* SCI link */
  551.       0,            /* instanceDataToken */
  552.       0,            /* reserved */
  553.       0,            /* reserved */
  554.       0,            /* reserved */
  555.     (somMToken) TALKSayString,    /* SayString:method */
  556.     (somMToken) TALKSayInteger,    /* SayInteger:method */
  557.     (somMToken) TALKSayFloat,    /* SayFloat:method */
  558.     (somMToken) TALKSayText,    /* SayText:method */
  559.     (somMToken) TALKFaster,    /* Faster:method */
  560.     (somMToken) TALKSlower,    /* Slower:method */
  561.     (somMToken) TALKUseVoice,    /* UseVoice:method */
  562.     (somMToken) TALKUseVoiceNamed,    /* UseVoiceNamed:method */
  563.     (somMToken) TALKGetVoiceName,    /* GetVoiceName:method */
  564.     (somMToken) TALKGetNumberVoices,    /* GetNumberVoices:method */
  565. };
  566.  
  567.  
  568. /*
  569.  * Functions for attributes.
  570.  */
  571.  
  572. /*
  573.  * Macros for initializers/destructors
  574.  */
  575.  
  576. #endif /* Primary Implementation Support */
  577.  
  578. #endif       /* SOM_DevUniv_STalker_xih */
  579.